package com.zt.csp.shorturl.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.zt.csp.shorturl.dto.ServiceResult;
import com.zt.csp.shorturl.entity.ShortUrl;

/**
 * 短链接服务
 * Created by zt on 2018/4/11 0011
 */
public interface ShortUrlService {

    /**
     * 将长链接转为短链接，获得Key
     *
     * @param shortUrl
     * @return
     */
    ServiceResult getShortUrlByLongUrl(ShortUrl shortUrl);

    /**
     * 根据短链接Key获取长链接
     *
     * @param shortUrlKey
     * @return
     */
    ServiceResult getLongUrlByShortUrl(String shortUrlKey);

    /**
     * 分页获取短链接列表
     *
     * @param page
     * @param pageSize
     * @param wrapper
     * @return
     */
    ServiceResult list(int page, int pageSize, Wrapper<ShortUrl> wrapper);


    /**
     * 删除某个短链接
     *
     * @param code 短链接码
     * @return 是否成功
     */
    ServiceResult delete(String code);


    /**
     * 禁用某个链接
     *
     * @param code 短链接码
     * @return 是否成功
     */
    ServiceResult disabled(String code);


    /**
     * 开放某个链接
     *
     * @param code 短链接码
     * @return 是否成功
     */
    ServiceResult enabled(String code);
}
